A typical memory device is composed of a plurality of memory elements or cells defining a memory array, and may contain a plurality of memory arrays. A memory cell in the memory array is accessed by row and column locations. Typically, each cell will have an associated address and a row decoder will be used to select the row portion of the address while a column decoder will select the column of the cell. The memory array may include redundant elements for use as replacement elements for defects. The redundant elements are effectively spare elements. Redundant elements are allocated either as a row or as a column. For example, in a memory device having only row redundancy, if any cell in a row is defective, the entire row of cells will be replaced. Redundant elements may be arranged in a global or a local fashion. Local redundant elements are provided per memory array and cannot be applied to other memory arrays within a memory system. Global redundant elements are available for replacement of elements within any memory array in the memory system.
In production it is necessary to assure the quality and operation of a memory device. Typically, a predetermined test pattern sequence is used to test each cell in the memory. The pattern may include any number of steps, each step consisting of a number of read/write sequences. A typical test method initially writes a first value to a memory cell to be tested. The test then reads that memory cell to verify that the value is stored in the memory cell. The test then writes a second value to the memory cell, where the second value is the complement of the first value. Storage of the second value is then verified. If the memory cell fails any step within the test method, the memory cell is considered defective. The testing of memory may be performed by an external tester, such as an automatic test equipment (ATE), or may be performed internally in the memory device. Internal testing is referred to as built-in self-test (BIST).
On detection of a defect in a memory cell error, i.e. test failure, it is desirable to replace that memory cell with a redundant element. For example, replacement of a defective cell with a spare row, or redundant element, is referred to as a repair. A row repair of a memory cell involves configuring the address input to select the spare row instead of the defective row. In effect, the spare row replaces the row containing the defective cell. Similarly, it is also possible to replace all cells in a column of a memory array, where the redundant element is a column, and the entire column containing the defective cell is replaced. Repair of the memory array may also be performed externally to the memory device, where the defective cells are tested and recorded or marked, and then a permanent replacement is made to redundant elements. One method of repair involves laser repair, which creates an open circuit to program a redundant element to respond to the address of the defective cell. The laser effects programming by selectively cutting a metal trace coupled to the address logic of the defective cell. The additional circuitry required to facilitate such programming and the additional production step to perform laser cutting result in additional cost.
Memory cell repair may be performed internally by a built-in self-repair (BISR) circuit. The BISR is typically used in conjunction with the BIST, but facilitates repair internally, without the use of external methods, such as laser cutting. The BISR performs an electrical repair, which may be permanent or temporary. A permanent repair uses non-volatile technology, such as electrically erasable programmable memory, one time programmable memory (OTP), or flash memory. Incorporation of non-volatile memory technology strictly for repair functions is cost prohibitive and is not often considered unless the integrated circuit device has already included this technology for other features. Temporary repair utilizes conventional logic and may be implemented without additional fabrication steps. Temporary repair offers a cost effective method of replacement, but the repairs must be made each time the device is powered up. This is true during production testing, and continues throughout the life of the device. The user must continue to repair any defective memory cells every time the device is powered up. A drawback associated with temporary repair is the lack of certainty that the same repairs will be made to the device in a user's system as were made in production testing. The concern is that environmental changes may have an effect on the operation of memory cells. Environmental conditions include operating voltage, temperature, frequency of the device, etc.
For example, production testing may discover a failure that occurs in a given environmental condition, such as at high temperature. The failure may be repaired by replacing the defective memory cell, so the memory device is not rejected. If the user performs the BISR at room temperature, where the user's environmental condition does not cause the high temperature failure, the BISR will not repair the defective cell. If the user's system later encounters the original environmental condition that caused the failure in production testing, i.e. high temperature, the memory cell will fail. There is a need for detecting memory device defects, where the defects are sensitive to environmental conditions and are not exhibited over the entire operating range of the device.